package main

import (
	"net/http"
	"time"

	"github.com/gin-gonic/gin"
)

func main() {
	// 1. 创建 Gin 引擎（默认开启路由、中间件等）
	r := gin.Default()

	// 2. 加载 HTML 模板（从 templates 目录读取）
	r.LoadHTMLGlob("templates/*") // 支持通配符匹配所有 HTML 文件

	// 3. 设置静态文件路由（可选：若需 CSS/JS/图片，映射 static 目录）
	r.Static("/static", "./static") // 访问路径 /static/style.css 对应 ./static/style.css

	// 4. 定义路由：首页（GET 请求 /）
	r.GET("/", func(c *gin.Context) {
		// 渲染模板：传递动态数据（标题、当前时间）
		c.HTML(
			http.StatusOK, // HTTP 状态码
			"index.html",  // 模板文件名（对应 templates/index.html）
			gin.H{ // 传递给模板的动态数据（键值对）
				"title": "Gin 模板示例",
				"time":  time.Now().Format("2006-01-02 15:04:05"),
			},
		)
	})

	// 5. 启动服务：监听 8080 端口（Docker 会映射宿主机端口到此）
	r.Run(":8080") // 若需本地直接监听 80 端口，改为 ":80"（需 sudo 权限）
}
